import { isEmpty } from '@/utils/ruoyi'

export function formatFileListSlotValue(data) {
  if (data) {
    data.forEach(item => {
      item.slotData && item.slotData.forEach(itemValue => {
        if (typeof itemValue.value === 'object') {
          itemValue.value = JSON.stringify(itemValue.value)
        } else if (typeof itemValue.value === 'number') {
          itemValue.value = itemValue.value.toString()
        } else if (typeof itemValue.value === 'boolean') {
          itemValue.value = itemValue.value.toString()
        } else {
          itemValue.value = isEmpty(itemValue.value) ? '' : itemValue.value
        }
      })
    })
  }
}

export function showFileListSlotValue(data) {
  if (data) {
    data.forEach(item => {
      item.slotData && item.slotData.forEach(sub => {
        if (isNumberString(sub.value)) {
          sub.value = Number(sub.value)
        } else if (sub.value.includes('[')) {
          sub.value = JSON.parse(sub.value)
        } else if (sub.value === 'true') {
          sub.value = true
        } else if (sub.value === 'false') {
          sub.value = false
        } else {
          sub.value = isEmpty(sub.value) ? '' : sub.value
        }
      })
    })
  }
}

export function isNumberString(str) {
  return /^\d+$/.test(str)
}
